| Total Complexity | 3 | 
| Total Lines | 25 | 
| Duplicated Lines | 0 % | 
| Changes | 0 | ||
| 1 | import { CanActivate, ExecutionContext, Injectable } from '@nestjs/common'; | 
            ||
| 2 | |||
| 3 | @Injectable()  | 
            ||
| 4 | export class AuthGuard implements CanActivate { | 
            ||
| 5 | |||
| 6 | async canActivate(  | 
            ||
| 7 | context: ExecutionContext,  | 
            ||
| 8 |   ): Promise<boolean> { | 
            ||
| 9 | const request = context.switchToHttp().getRequest();  | 
            ||
| 10 | const role = request.headers.role;  | 
            ||
| 11 | |||
| 12 |     if (role === 'admin') { | 
            ||
| 13 |       request.user = { | 
            ||
| 14 | role: 'admin',  | 
            ||
| 15 | };  | 
            ||
| 16 | return true;  | 
            ||
| 17 | }  | 
            ||
| 18 | |||
| 19 |     if (role === 'user') { | 
            ||
| 20 |       request.user = { | 
            ||
| 21 | role: 'user',  | 
            ||
| 22 | };  | 
            ||
| 23 | return true;  | 
            ||
| 24 | }  | 
            ||
| 25 | |||
| 26 | return false;  | 
            ||
| 27 | }  | 
            ||
| 29 |